package com.shalanzi.hospital.service.impl;

import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.shalanzi.hospital.mapper.ClassMapper;
import com.shalanzi.hospital.pojo.User;
import com.shalanzi.hospital.query.UserQuery;
import com.shalanzi.hospital.service.ClassService;
import org.springframework.stereotype.Service;

import javax.annotation.Resource;
import java.util.HashMap;
import java.util.Map;

/**
 * @author Dream_飞翔
 * @date 2021/9/29
 * @time 22:09
 * @email 1072876976@qq.com
 */
@Service
public class ClassServiceImpl implements ClassService {
    @Resource
    private ClassMapper classMapper;

    /**
     * 获取符合条件的用户对象
     *
     * @param userQuery 用户前端提交的参数
     * @return 符合条件的用户对象
     */
    @Override
    public Map<String, Object> getClassList(UserQuery userQuery) {
        // 声明返回前端的Map集合
        Map<String, Object> map = new HashMap<>();

        // 获取分页参数
        int pageNum = userQuery.getPageNum();  // 页号
        int pageSize = userQuery.getPageSize();  // 每页参数

        // 开启分页，参数：1. 当前第几页  2. 每页有多少条数据
        PageHelper.startPage(pageNum, pageSize);
        // 得到对应的分页对象
        PageInfo<User> pageInfo = new PageInfo<>(classMapper.selectByParams(userQuery));

        // 设置Map对象
        map.put("code", 0);
        map.put("msg", "success");
        // 查询到的数量
        map.put("count", pageInfo.getTotal());
        // 设置查询到的分页集合
        map.put("data", pageInfo.getList());
        return map;
    }
}
